
<template>
  <div id="index" ref="appRef">
    <div class="bg">
      <dv-loading v-if="loading">Loading...</dv-loading>
      <div v-else class="host-body">
        <div class="d-flex jc-center">
          <dv-decoration-10 class="dv-dec-10" />
          <div class="d-flex jc-center">
            <dv-decoration-8 class="dv-dec-8" :color="decorationColor" />
            <div class="title">
              <span class="title-text">电镜影像可视化平台</span>
              <dv-decoration-6 class="dv-dec-6" :reverse="true" :color="['#50e3c2', '#67a1e5']" />
            </div>
            <dv-decoration-8 class="dv-dec-8" :reverse="true" :color="decorationColor" />
          </div>
          <dv-decoration-10 class="dv-dec-10-s" />
        </div>
        <!-- 第二行 -->
        <div class="d-flex jc-between px-2">
          <div class="d-flex aside-width">
            <div class="react-left ml-4 react-l-s">
              <span class="react-left"></span>
              <span class="text"></span>
            </div>
            <!-- 质量评估按钮 -->
            <div @click="sw(1)" :class="['react-left', 'ml-3', { 'bg-color-blue': activeIndex === 1 }]"
              style="cursor: pointer;">
              <span class="text fw-b">质量评估</span>
            </div>
          </div>
          <div class="d-flex aside-width">
            <!-- 影像增强按钮 -->
            <div @click="sw(2)" :class="['react-right', 'mr-3', { 'bg-color-blue': activeIndex === 2 }]"
              style="cursor: pointer;">
              <span class="text fw-b">影像增强</span>
            </div>
            <div class="react-right mr-4 react-l-s">
              <span class="react-after"></span>
              <span class="text">{{ dateYear }} {{ dateWeek }} {{ dateDay }}</span>
            </div>
          </div>
        </div>
        <!-- 5个质量评估的：噪声失真评估、模糊失真评估、压缩失真评估、亮度失真评估、对比度评估
            3个影像增强的：噪声自动消除、超分辨率重构、对比度增强 -->

        <div class="body-box">
          <!-- 第三行数据 -->
          <div class="content-box">
            <div>
              <dv-border-box-12>
                <centerLeft1 />
              </dv-border-box-12>
            </div>
            <div>
              <dv-border-box-12>
                <centerLeft2 @evaluate="handleClick" v-show="activeIndex == 1" />
                <centerLeft22 @evaluate="handleClick2" v-show="activeIndex == 2" />
              </dv-border-box-12>
            </div>
            <!-- 中间 -->
            <div>
              <center />
            </div>
            <!-- 中间 -->
            <div>
              <centerRight2 />
            </div>
            <div>
              <dv-border-box-13>
                <centerRight1 />
              </dv-border-box-13>
            </div>
          </div>

          <!-- 第四行数据 -->
          <div class="bottom-box">
            <dv-border-box-13>
              <bottomLeft @image-uploaded="checkImg" />
            </dv-border-box-13>
            <dv-border-box-12>"
              <bottomRight :activateIndex.sync="activeIndex" :imageUrl.sync="img" :score.sync="score" />
              <!-- <bottomRight :ac v-if="activeIndex  == 2" /> -->
            </dv-border-box-12>
          </div>
        </div>


      </div>
    </div>
  </div>
</template>

<script>
import imageFile1 from "@/assets/image/1.png"
import imageFile2 from "@/assets/image/2.png"
import imageFile3 from "@/assets/image/3.png"
import drawMixin from "../utils/drawMixin";
import { formatTime } from '../utils/index.js'
import centerLeft1 from './centerLeft1'
import centerLeft2 from './centerLeft2'
import centerLeft22 from './centerLeft22'
import centerRight1 from './centerRight1'
import centerRight2 from './centerRight2'
import center from './center'
import bottomLeft from './bottomLeft'
import bottomRight from './bottomRight'
import { activeRingChart } from "@jiaminghi/data-view";
 /* eslint-disable */ 
export default {
  mixins: [ drawMixin ],
  data() {
    return {
      timing: null,
      loading: true,
      dateDay: null,
      dateYear: null,
      dateWeek: null,
      weekday: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
      decorationColor: ['#568aea', '#000000'],
      algo: null,
      score: null,
      img: imageFile1,
      activeIndex: 1
    }
  },
  components: {
    centerLeft1,
    centerLeft2,
    centerLeft22,
    centerRight1,
    centerRight2,
    center,
    bottomLeft,
    bottomRight
  },
  mounted() {
    this.timeFn()
    this.cancelLoading()
  },
  beforeDestroy () {
    clearInterval(this.timing)
  },
  methods: {
    handleClick(algo) {
      if (!this.img) {
        alert('请先上传图片')
        return
      }
      this.algo = algo
      // 生成 70 到 90 之间的随机数（包含 70 和 90）
      const randomNum = Math.random() * 20 + 70;

      // 保留一位小数
      this.score = Math.round(randomNum * 10) / 10;
    },
    handleClick2(algo) {
      if (!this.img) {
        alert('请先上传图片')
        return
      }
      // this.algo = algo
      // // 生成 70 到 90 之间的随机数（包含 70 和 90）
      // const randomNum = Math.random() * 20 + 70;

      // // 保留一位小数
      // this.score = Math.round(randomNum * 10) / 10;
    },
    timeFn() {
      this.timing = setInterval(() => {
        this.dateDay = formatTime(new Date(), 'HH: mm: ss')
        this.dateYear = formatTime(new Date(), 'yyyy-MM-dd')
        this.dateWeek = this.weekday[new Date().getDay()]
      }, 1000)
    },
    sw(index) {
      this.activeIndex = index;
    },
    checkImg(img) {
      this.img = img
    },
    cancelLoading() {
      setTimeout(() => {
        this.loading = false
      }, 500)
    }
  }
}
</script>

<style lang="scss" scoped>
@import '../assets/scss/index.scss';
.bg-color-blue {
  background-color: #1a5cd7 !important;
}
</style>
